from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):  # 基础精通
    名称 = '基础精通'
    倍率 = 1.0

    所在等级 = 1
    等级上限 = 200
    学习间隔 = 1
    等级精通 = 110

    关联技能 = ['猎杀枪']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '魔枪发射'
    所在等级 = 10
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [10, 115]
    data0 = [0, 620, 685, 750, 810, 876, 939, 1000, 1064, 1128, 1190, 1253, 1319, 1380, 1444, 1507, 1571, 1633, 1697, 1759, 1823, 1886, 1948, 2011, 2075, 2138, 2201, 2265, 2327, 2392, 2454, 2518, 2581, 2644, 2706, 2771, 2834, 2895, 2960, 3025, 3085, 3148, 3215, 3274, 3340, 3404, 3468, 3529, 3593, 3657, 3719, 3782, 3847, 3908, 3971, 4035, 4098, 4161, 4224, 4287, 4351, 4415, 4477, 4540, 4604, 4667, 4730, 4794, 4856, 4919, 4982]
    hit0 = 4
    CD = 5.0
    TP成长 = 0.10
    TP上限 = 7


class 技能2(主动技能):
    名称 = '隐鼠袭杀'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [35, 350]
    data0 = [0, 3368, 3708, 4050, 4391, 4733, 5077, 5418, 5760, 6101, 6443, 6785, 7126, 7468, 7810, 8152, 8492, 8833, 9175, 9517, 9858, 10200, 10541, 10883, 11226, 11568, 11910, 12250, 12592, 12934, 13275, 13617, 13958, 14300, 14643, 14984, 15326, 15668, 16009, 16352, 16691, 17034, 17376, 17717, 18060, 18401, 18743, 19085, 19426, 19768, 20109, 20451, 20793, 21133, 21478, 21817, 22160, 22502, 22843, 23185, 23527, 23868, 24210, 24550, 24894, 25236, 25575, 25917, 26258, 26600, 26942]
    hit0 = 1
    CD = 5.0
    TP成长 = 0.10
    TP上限 = 7


class 技能3(主动技能):
    名称 = '猎杀枪'
    所在等级 = 15
    等级上限 = 5
    学习间隔 = 2
    等级精通 = 1
    MP = [6, 140]
    data0 = [0, 375, 415, 452, 491, 528]
    hit0 = 1
    CD = 0.85
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, **argv):
        return 0.85


class 技能4(被动技能):
    名称 = '光枪精通'
    所在等级 = 15
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10

    # 魔法攻击力加成
    def 魔法攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.05 + 0.02 * self.等级, 5)


class 技能5(主动技能):
    名称 = "光焰飞枪"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [50, 550]
    无色消耗 = 0
    data0 = [0, 841, 925, 1010, 1097, 1181, 1267, 1352, 1438, 1523, 1607, 1693, 1778, 1864, 1948, 2036, 2121, 2206, 2290, 2375, 2462, 2547, 2631, 2716, 2801, 2889, 2974, 3059, 3143, 3229, 3313, 3399, 3485, 3569, 3656, 3740, 3827, 3912, 3998, 4081, 4166, 4253, 4338, 4424, 4509, 4593, 4680, 4764, 4850, 4935, 5021, 5104, 5192, 5277, 5362, 5447, 5531, 5618, 5703, 5789, 5873, 5960, 6044, 6130, 6215, 6300, 6386, 6471, 6555, 6641, 6726]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 7


class 技能6(被动技能):
    名称 = '狩猎本能'
    所在等级 = 20
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)


class 技能7(主动技能):
    名称 = "蛮横冲撞"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [65, 650]
    无色消耗 = 0
    data0 = [0, 1726, 1901, 2077, 2252, 2428, 2603, 2777, 2952, 3129, 3303, 3478, 3654, 3829, 4005, 4180, 4354, 4529, 4706, 4880, 5056, 5231, 5406, 5582, 5757, 5931, 6106, 6283, 6457, 6633, 6807, 6983, 7157, 7333, 7508, 7682, 7858, 8034, 8209, 8384, 8560, 8734, 8910, 9085, 9259, 9435, 9612, 9786, 9961, 10137, 10311, 10487, 10661, 10836, 11012, 11189, 11363, 11538, 11714, 11888, 12064, 12238, 12413, 12590, 12764, 12940, 13115, 13290, 13465, 13641, 13815]
    hit0 = 1
    data1 = [0, 2102, 2314, 2528, 2741, 2952, 3167, 3380, 3594, 3807, 4020, 4234, 4445, 4659, 4872, 5087, 5300, 5512, 5726, 5938, 6152, 6364, 6579, 6792, 7007, 7218, 7430, 7645, 7856, 8071, 8284, 8499, 8711, 8925, 9137, 9349, 9563, 9776, 9991, 10203, 10418, 10629, 10843, 11056, 11268, 11483, 11696, 11910, 12121, 12335, 12548, 12762, 12975, 13188, 13403, 13615, 13827, 14041, 14254, 14468, 14681, 14895, 15107, 15319, 15533, 15746, 15960, 16174, 16386, 16601, 16813]
    hit1 = 1
    data2 = [0, 700, 770, 842, 912, 983, 1056, 1125, 1198, 1268, 1339, 1411, 1481, 1553, 1624, 1695, 1767, 1837, 1909, 1979, 2051, 2120, 2193, 2264, 2335, 2407, 2475, 2548, 2617, 2690, 2762, 2831, 2903, 2974, 3045, 3118, 3186, 3259, 3329, 3401, 3471, 3543, 3613, 3685, 3756, 3827, 3899, 3971, 4040, 4112, 4182, 4255, 4323, 4395, 4468, 4537, 4610, 4678, 4751, 4821, 4893, 4965, 5036, 5106, 5177, 5248, 5320, 5391, 5462, 5532, 5605]
    hit2 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能8(主动技能):
    名称 = "猎杀枪：掠食"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 9
    MP = [30, 500]
    无色消耗 = 0
    data0 = [0, 5508, 6068, 6628, 7186, 7746, 8305, 8864, 9423, 9981, 10540, 11099, 11658, 12217, 12776, 13335, 13895, 14453, 15011, 15570, 16131, 16690, 17249, 17808, 18367, 18926, 19485, 20043, 20602, 21161, 21721, 22280, 22838, 23397, 23956, 24515, 25076, 25632, 26193, 26752, 27311, 27871, 28429, 28988, 29546, 30106, 30664, 31223, 31783, 32342, 32901, 33458, 34018, 34579, 35137, 35697, 36255, 36814, 37373, 37933, 38492, 39049, 39608, 40168, 40727, 41285, 41845, 42404, 42963, 43524, 44079]
    hit0 = 1
    data1 = [0, 5658, 6234, 6807, 7380, 7955, 8529, 9103, 9678, 10252, 10825, 11399, 11974, 12549, 13122, 13696, 14270, 14845, 15418, 15994, 16567, 17140, 17717, 18290, 18863, 19437, 20012, 20585, 21160, 21735, 22308, 22882, 23458, 24031, 24605, 25178, 25751, 26327, 26901, 27477, 28050, 28623, 29197, 29770, 30346, 30921, 31494, 32068, 32643, 33216, 33789, 34365, 34939, 35512, 36088, 36661, 37234, 37809, 38385, 38959, 39532, 40106, 40680, 41253, 41828, 42404, 42977, 43550, 44125, 44699, 45272]
    hit1 = 0
    TP成长 = 0.1
    TP上限 = 7

    形态 = ['地面', '空中']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "地面":
            self.hit0 = 1
            self.hit1 = 0
        if 形态 == "空中":
            self.hit0 = 0
            self.hit1 = 1


class 技能9(主动技能):
    名称 = "光焰枪"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [47, 700]
    无色消耗 = 0
    data0 = [0, 8555, 9422, 10292, 11159, 12026, 12896, 13763, 14632, 15500, 16367, 17236, 18104, 18972, 19840, 20708, 21576, 22444, 23311, 24179, 25046, 25915, 26783, 27650, 28519, 29387, 30254, 31123, 31991, 32859, 33727, 34595, 35462, 36331, 37200, 38066, 38935, 39804, 40670, 41539, 42408, 43274, 44144, 45012, 45878, 46748, 47616, 48482, 49352, 50220, 51088, 51955, 52821, 53691, 54559, 55425, 56295, 57163, 58031, 58899, 59767, 60635, 61503, 62372, 63239, 64107, 64976, 65843, 66711, 67579, 68446]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能10(主动技能):
    名称 = "猎杀枪：穿心"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [30, 500]
    无色消耗 = 0
    data0 = [0, 668, 735, 803, 870, 937, 1004, 1073, 1140, 1208, 1275, 1344, 1411, 1479, 1546, 1614, 1682, 1749, 1817, 1884, 1953, 2019, 2087, 2154, 2223, 2290, 2358, 2427, 2494, 2560, 2628, 2696, 2763, 2831, 2900, 2968, 3035, 3102, 3169, 3237, 3306, 3373, 3441, 3508, 3576, 3642, 3711, 3779, 3847, 3914, 3982, 4049, 4117, 4183, 4252, 4320, 4387, 4456, 4523, 4591, 4659, 4726, 4793, 4861, 4928, 4996, 5063, 5133, 5201, 5267, 5335]
    hit0 = 6
    data1 = [0, 2667, 2938, 3208, 3478, 3749, 4020, 4291, 4561, 4832, 5101, 5373, 5642, 5915, 6185, 6455, 6726, 6996, 7267, 7540, 7809, 8081, 8351, 8621, 8893, 9163, 9433, 9705, 9974, 10245, 10515, 10787, 11056, 11328, 11598, 11869, 12139, 12409, 12681, 12952, 13221, 13493, 13762, 14033, 14305, 14575, 14845, 15116, 15386, 15659, 15928, 16199, 16469, 16740, 17010, 17281, 17551, 17822, 18093, 18364, 18633, 18905, 19174, 19447, 19717, 19987, 20258, 20528, 20798, 21071, 21340]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能11(主动技能):
    名称 = "光焰囚杀"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [45, 850]
    无色消耗 = 1
    data0 = [0, 6295, 6934, 7571, 8210, 8850, 9488, 10126, 10765, 11404, 12042, 12682, 13319, 13959, 14597, 15235, 15874, 16512, 17152, 17790, 18427, 19070, 19707, 20345, 20984, 21622, 22262, 22900, 23538, 24176, 24814, 25455, 26093, 26731, 27371, 28009, 28647, 29286, 29923, 30561, 31202, 31841, 32480, 33119, 33757, 34396, 35034, 35671, 36311, 36949, 37588, 38227, 38866, 39505, 40143, 40783, 41419, 42059, 42698, 43336, 43974, 44614, 45253, 45892, 46530, 47167, 47807, 48445, 49083, 49722, 50361]
    hit0 = 1
    data1 = [0, 6295, 6934, 7571, 8210, 8850, 9488, 10126, 10765, 11404, 12042, 12682, 13319, 13959, 14597, 15235, 15874, 16512, 17152, 17790, 18427, 19070, 19707, 20345, 20984, 21622, 22262, 22900, 23538, 24176, 24814, 25455, 26093, 26731, 27371, 28009, 28647, 29286, 29923, 30561, 31202, 31841, 32480, 33119, 33757, 34396, 35034, 35671, 36311, 36949, 37588, 38227, 38866, 39505, 40143, 40783, 41419, 42059, 42698, 43336, 43974, 44614, 45253, 45892, 46530, 47167, 47807, 48445, 49083, 49722, 50361]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能12(主动技能):
    名称 = "利刃收割"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [45, 850]
    无色消耗 = 1
    data0 = [0, 1453, 1599, 1747, 1894, 2043, 2190, 2336, 2485, 2631, 2780, 2926, 3074, 3220, 3369, 3518, 3664, 3811, 3958, 4107, 4254, 4401, 4548, 4697, 4844, 4991, 5138, 5285, 5435, 5580, 5729, 5876, 6021, 6171, 6318, 6466, 6612, 6760, 6908, 7055, 7204, 7349, 7498, 7645, 7793, 7938, 8088, 8234, 8382, 8529, 8676, 8826, 8971, 9120, 9266, 9414, 9563, 9709, 9857, 10004, 10153, 10299, 10446, 10594, 10740, 10889, 11036, 11184, 11329, 11478, 11625]
    hit0 = 4
    data1 = [0, 5814, 6401, 6991, 7580, 8172, 8762, 9351, 9941, 10530, 11120, 11709, 12299, 12889, 13480, 14070, 14659, 15248, 15837, 16428, 17018, 17607, 18197, 18787, 19376, 19967, 20556, 21146, 21736, 22326, 22915, 23505, 24095, 24684, 25275, 25862, 26455, 27045, 27634, 28222, 28811, 29402, 29991, 30581, 31170, 31762, 32352, 32940, 33530, 34119, 34710, 35300, 35889, 36479, 37068, 37659, 38248, 38838, 39429, 40018, 40608, 41196, 41786, 42377, 42967, 43557, 44146, 44737, 45327, 45915, 46505]
    hit1 = 1
    data2 = [0, 5890, 6490, 7087, 7683, 8282, 8879, 9479, 10075, 10672, 11271, 11868, 12467, 13064, 13661, 14260, 14857, 15456, 16052, 16650, 17249, 17847, 18442, 19042, 19639, 20237, 20834, 21431, 22031, 22627, 23226, 23824, 24421, 25019, 25616, 26213, 26813, 27410, 28008, 28604, 29204, 29802, 30397, 30996, 31594, 32193, 32790, 33386, 33985, 34582, 35180, 35779, 36374, 36974, 37572, 38169, 38767, 39365, 39963, 40559, 41157, 41757, 42354, 42950, 43549, 44147, 44745, 45341, 45939, 46535, 47135]
    hit2 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ['击退', '上升']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "击退":
            self.hit0 = 4
            self.hit1 = 1
            self.hit2 = 0
        if 形态 == "上升":
            self.hit0 = 4
            self.hit1 = 0
            self.hit2 = 1

    def 装备护石(self, char):
        self.power0 = 1.18
        self.power1 = 1.2
        self.power2 = 1.2
        self.CDR *= 0.9


class 技能13(主动技能):
    名称 = "鹰坠"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [150, 1260]
    无色消耗 = 1
    data0 = [0, 16410, 18075, 19739, 21403, 23069, 24734, 26399, 28063, 29727, 31393, 33056, 34722, 36386, 38053, 39719, 41382, 43047, 44711, 46377, 48042, 49705, 51372, 53035, 54700, 56366, 58029, 59696, 61360, 63026, 64690, 66354, 68021, 69686, 71349, 73013, 74680, 76343, 78008, 79673, 81339, 83003, 84669, 86334, 87997, 89663, 91328, 92993, 94657, 96321, 97988, 99650, 101315, 102982, 104647, 106311, 107976, 109641, 111306, 112970, 114636, 116301, 117963, 119631, 121294, 122959, 124625, 126289, 127955, 129619, 131284]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.19
        self.CDR *= 0.9


class 技能14(主动技能):
    名称 = "龙鳞碎割"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [250, 2500]
    无色消耗 = 2
    data0 = [0, 580, 640, 699, 756, 816, 875, 935, 993, 1052, 1112, 1171, 1228, 1287, 1346, 1406, 1465, 1524, 1583, 1643, 1700, 1760, 1818, 1879, 1937, 1997, 2055, 2114, 2173, 2230, 2290, 2348, 2409, 2467, 2527, 2584, 2645, 2703, 2763, 2821, 2880, 2940, 2999, 3057, 3116, 3176, 3233, 3293, 3351, 3411, 3469, 3528, 3587, 3646, 3706, 3765, 3824, 3883, 3943, 4001, 4060, 4119, 4176, 4238, 4295, 4355, 4412, 4473, 4531, 4591, 4649]
    hit0 = 20
    data1 = [0, 17437, 19206, 20974, 22745, 24513, 26282, 28050, 29819, 31589, 33357, 35127, 36895, 38664, 40436, 42203, 43972, 45740, 47511, 49279, 51048, 52818, 54585, 56355, 58123, 59893, 61662, 63430, 65202, 66970, 68738, 70506, 72276, 74046, 75814, 77584, 79352, 81121, 82888, 84659, 86428, 88196, 89968, 91735, 93505, 95275, 97042, 98811, 100580, 102350, 104118, 105887, 107658, 109426, 111194, 112962, 114732, 116500, 118270, 120041, 121809, 123577, 125345, 127116, 128885, 130653, 132424, 134192, 135961, 137728, 139498]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 += 20
        self.power0 = 0.7
        self.power1 = 1.13
        self.CDR *= 0.9


class 技能15(被动技能):
    名称 = '枪魂感知'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能16(主动技能):
    名称 = "逐云灭龙杀"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [980, 8232]
    无色消耗 = 5
    data0 = [0, 4005, 4934, 5863, 6793, 7722, 8652, 9580, 10509, 11438, 12368, 13297, 14226, 15155, 16084, 17014, 17943, 18873, 19801, 20728, 21658, 22589, 23517, 24446, 25375, 26304, 27234, 28163, 29092, 30021, 30950, 31879, 32810, 33738, 34668, 35596, 36526, 37455, 38381, 39311, 40240, 41169, 42098, 43027, 43957, 44886, 45815, 46743, 47673, 48604, 49532]
    hit0 = 1
    data1 = [0, 2804, 3454, 4104, 4754, 5404, 6057, 6707, 7357, 8007, 8659, 9308, 9958, 10610, 11259, 11909, 12559, 13211, 13860, 14510, 15161, 15810, 16460, 17111, 17764, 18413, 19063, 19714, 20365, 21014, 21665, 22316, 22965, 23615, 24267, 24917, 25566, 26216, 26868, 27517, 28167, 28820, 29470, 30119, 30769, 31422, 32072, 32721, 33372, 34022, 34671]
    hit1 = 10
    data2 = [0, 48080, 59230, 70378, 81528, 92676, 103825, 114976, 126125, 137273, 148423, 159573, 170721, 181870, 193020, 204169, 215320, 226467, 237615, 248766, 259915, 271062, 282213, 293362, 304512, 315659, 326809, 337959, 349107, 360258, 371406, 382555, 393705, 404853, 416001, 427153, 438302, 449451, 460600, 471749, 482898, 494050, 505197, 516346, 527494, 538645, 549792, 560942, 572091, 583242, 594389]
    hit2 = 1


class 技能17(主动技能):
    名称 = "天龙破"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 25
    MP = [400, 1620]
    无色消耗 = 1
    data0 = [0, 3740, 4119, 4497, 4877, 5259, 5637, 6016, 6396, 6775, 7154, 7534, 7913, 8294, 8673, 9052, 9431, 9810, 10189, 10570, 10951, 11327, 11708, 12088, 12466, 12847, 13226, 13605, 13984, 14365, 14744, 15122, 15503, 15883, 16262, 16642, 17020, 17399, 17781, 18161, 18538, 18918, 19298, 19676, 20058, 20438, 20815, 21195, 21575, 21954, 22332]
    hit0 = 4
    data1 = [0, 9973, 10987, 11999, 13008, 14021, 15032, 16046, 17057, 18068, 19081, 20094, 21104, 22115, 23129, 24140, 25152, 26164, 27176, 28188, 29200, 30211, 31225, 32236, 33246, 34260, 35272, 36283, 37294, 38308, 39319, 40332, 41342, 42354, 43367, 44379, 45391, 46402, 47415, 48426, 49439, 50450, 51461, 52474, 53484, 54498, 55509, 56522, 57533, 58546, 59556]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ["地面", "空中"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            if '天龙破' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 1
                self.power1 = 1.48*2.25
            else:
                形态 = "地面"
        if 形态 == "地面":
            self.hit0 = 4
            self.hit1 = 1
            if '天龙破' in char.护石栏:
                self.hit0 = 2
                self.hit1 = 1
                self.power0 = 2.28+0.24
                self.power1 = 1.48

    def 装备护石(self, char):
        pass


class 技能18(主动技能):
    名称 = "地龙狩"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [800, 1680]
    无色消耗 = 2
    data0 = [0, 39045, 43007, 46966, 50930, 54889, 58851, 62814, 66773, 70735, 74695, 78657, 82618, 86579, 90539, 94501, 98464, 102422, 106386, 110346, 114307, 118267, 122230, 126191, 130151, 134113, 138076, 142034, 145997, 149958, 153919, 157879, 161841, 165802, 169763, 173726, 177686, 181648, 185609, 189568, 193532, 197492, 201453, 205413, 209376, 213334, 217297, 221261, 225219, 229182, 233141]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 0.68
        self.CD = 20.0


class 技能19(主动技能):
    名称 = "凌空之狩"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 21611, 23802, 25994, 28188, 30380, 32572, 34763, 36957, 39149, 41341, 43533, 45726, 47919, 50112, 52305, 54497, 56690, 58880, 61074, 63265, 65457, 67649, 69842, 72035, 74228, 76420, 78614, 80805, 82997, 85190, 87383, 89574, 91766, 93959, 96152, 98343, 100537, 102730, 104922, 107115, 109307, 111500, 113692, 115884, 118074, 120270, 122460, 124652, 126844, 129040]
    hit0 = 1
    data1 = [0, 49244, 54240, 59237, 64230, 69226, 74224, 79220, 84213, 89210, 94206, 99201, 104198, 109193, 114191, 119185, 124181, 129176, 134173, 139168, 144165, 149160, 154155, 159152, 164149, 169142, 174139, 179135, 184132, 189127, 194121, 199119, 204114, 209110, 214107, 219100, 224096, 229094, 234090, 239083, 244081, 249076, 254071, 259068, 264064, 269061, 274056, 279051, 284048, 289043, 294039]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 = 1.1*1.27
        self.power1 = 1.1*1.21


class 技能20(被动技能):
    名称 = '狩猎之心'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能21(主动技能):
    名称 = "无尽杀戮"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [600, 5000]
    无色消耗 = 5
    data0 = [0, 2565, 2826, 3083, 3343, 3604, 3866, 4126, 4385, 4644, 4905, 5164, 5427, 5686, 5946, 6205, 6464, 6728, 6987, 7247, 7508, 7766, 8027, 8288, 8548, 8808, 9067, 9331, 9589, 9849, 10110, 10370, 10630, 10891, 11150, 11410, 11669, 11932, 12191, 12451, 12709, 12971, 13232, 13492, 13753, 14013, 14271, 14531, 14793, 15053, 15313]
    hit0 = 11
    data1 = [0, 54307, 59815, 65324, 70834, 76343, 81850, 87360, 92869, 98380, 103889, 109399, 114908, 120419, 125928, 131438, 136947, 142457, 147964, 153472, 158982, 164492, 170002, 175511, 181021, 186530, 192041, 197550, 203058, 208568, 214077, 219586, 225095, 230606, 236115, 241625, 247133, 252642, 258151, 263660, 269171, 274680, 280190, 285699, 291207, 296717, 302226, 307737, 313245, 318755, 324264]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.18
        self.hit0 = 16
        self.hit1 = 2
        self.power0 = 1.35/(16/11)
        self.power1 = 1.06/2


class 技能22(主动技能):
    名称 = "绝命猎杀：死亡穿刺"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 105289, 129704, 154116, 178532, 202947, 227362, 251776, 276191, 300606, 325022, 349438, 373849, 398265, 422681, 447094, 471510, 495923, 520339, 544755, 569167, 593582, 617998, 642411, 666827, 691243, 715657, 740071, 764487, 788901, 813318, 837730, 862145, 886560, 910976, 935389, 959804, 984220, 1008635, 1033050, 1057462, 1081878, 1106294, 1130708, 1155122, 1179538, 1203952, 1228367, 1252783, 1277195, 1301611]
    hit0 = 1
    data1 = [0, 89497, 110251, 131004, 151757, 172511, 193266, 214016, 234770, 255522, 276278, 297032, 317784, 338537, 359289, 380044, 400796, 421550, 442303, 463056, 483808, 504563, 525315, 546068, 566823, 587577, 608330, 629082, 649836, 670588, 691342, 712096, 732848, 753600, 774354, 795107, 815863, 836617, 857369, 878121, 898874, 919629, 940381, 961134, 981887, 1002640, 1023393, 1044147, 1064900, 1085653, 1106408]
    hit1 = 1


class 技能23(被动技能):
    名称 = '狩魔之魂'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能24(主动技能):
    名称 = "瞬光猎杀枪"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [800, 6666]
    无色消耗 = 7
    data0 = [0, 5569, 6136, 6700, 7264, 7831, 8395, 8960, 9526, 10090, 10656, 11220, 11787, 12351, 12915, 13482, 14046, 14610, 15177, 15741, 16306, 16871, 17436, 18002, 18566, 19132, 19697, 20261, 20827, 21392, 21957, 22521, 23087, 23652, 24217, 24783, 25347, 25912, 26478, 27042, 27608, 28172, 28738, 29303, 29867, 30433, 30998, 31562, 32129, 32693, 33259]
    hit0 = 10
    data1 = [0, 83548, 92024, 100499, 108975, 117453, 125926, 134404, 142881, 151355, 159832, 168308, 176785, 185259, 193736, 202213, 210687, 219164, 227641, 236115, 244592, 253068, 261543, 270019, 278497, 286970, 295448, 303925, 312401, 320874, 329352, 337829, 346303, 354781, 363256, 371732, 380207, 388685, 397158, 405636, 414112, 422589, 431064, 439540, 448018, 456491, 464969, 473444, 481919, 490395, 498873]
    hit1 = 1


class 技能25(主动技能):
    名称 = "红月·狂狩盛宴"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4027, 8055]
    无色消耗 = 15
    data0 = [0, 34143, 42061, 49977, 57895, 65812, 73730, 81646, 89564, 97481, 105398, 113317, 121233, 129150, 137068, 144985, 152902, 160820, 168736, 176654, 184571, 192489, 200405, 208324, 216241, 224157, 232076, 239992, 247910, 255827, 263744, 271661, 279579, 287496, 295413, 303329, 311248, 319165, 327083, 335000, 342916, 350835, 358751, 366669, 374585, 382503, 390420, 398337, 406256, 414172, 422089]
    hit0 = 3
    data1 = [0, 409717, 504724, 599732, 694739, 789746, 884753, 979761, 1074768, 1169775, 1264781, 1359789, 1454796, 1549803, 1644810, 1739818, 1834825, 1929831, 2024839, 2119846, 2214854, 2309864, 2404868, 2499879, 2594886, 2689893, 2784900, 2879908, 2974915, 3069920, 3164928, 3259935, 3354943, 3449950, 3544957, 3639964, 3734972, 3829979, 3924986, 4019993, 4115001, 4210008, 4305015, 4400021, 4495029, 4590036, 4685043, 4780050, 4875058, 4970065, 5065073]
    hit1 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'dragoon'
        self.名称 = '千魂·狩猎者'
        self.角色 = '魔枪士'
        self.角色类型 = '输出'
        self.职业 = '狩猎者'
        # 用来筛CP武器的
        self.武器选项 = ['光枪']
        self.输出类型选项 = ['魔法百分比']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法百分比'
        self.武器类型 = '光枪'
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.85

        super().__init__(equVersion)
